from django.shortcuts import render, redirect
from django import http
from alipay import AliPay
from django.conf import settings
import os
import uuid
# Create your views here.
# 通过Alipay类实例一个支付的对象  muucdf4464@sandbox.com


def goodspuy(request):
    if request.method == 'GET':
        # str1 = open(
        #     os.path.join(settings.BASE_DIR,'keys/alipay_public_key.pem')
        # ).read(),
        # print(str1)
        return render(request,'puy_index.html')
    elif request.method == 'POST':
        alipay_obj = AliPay(
            appid='2021000120601616',  # 沙箱中的appid
            app_notify_url='http://127.0.0.1:8000/check_puy/',  # 支付宝返回给我们项目的一个确认链接地址
            # 应用的私钥，字符串
            app_private_key_string=open(
                os.path.join(settings.BASE_DIR, 'keys/app_private_key.pem')
            ).read(),
            # 支付宝的公钥
            alipay_public_key_string=open(
                os.path.join(settings.BASE_DIR, 'keys/alipay_public_key.pem')
            ).read(),
            debug=True,  # 如果是tru
        )
        money = request.POST.get('money')
        order_id = uuid.uuid4().hex
        # 去支付宝支付，需要多个参数 ：一个是订单的id ，还有一个是订单的总金额, 通过一个查询字符串去传递
        # 生成一个去支付宝支付的查询字符串，支付网址后面给支付宝传递的参数
        query_str = alipay_obj.api_alipay_trade_page_pay(
            subject='美多商城', # 订单的标题
            out_trade_no = order_id, # 订单号
            total_amount = money, # 总金额
            return_url='http://127.0.0.1:8000/check_puy/',# 支付完毕后跳转的一个链接地址
            notify_url='http://127.0.0.1:8000/check_puy/',# 支付宝返回给我们项目的一个确认支付链接地址
        )
        alipay_url = 'https://openapi.alipaydev.com/gateway.do?'+query_str
        return redirect(alipay_url)